/**
 * 
 */
package com.lifeware.research.endo.models.dao;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.lifeware.research.endo.models.entities.Ghiandole;

/**
 * <p>Permette il recupero delle informazioni sulle ghiandole attraverso 
 *    l'utilizzo di H8. 
 * </p>
 * 
 * @author  Riccardo Cardin, (C) 2012 Lifeware
 * @version 1.0
 */
@Repository
public class GhiandoleH8Dao extends AbsHibernateDao implements IGhiandoleDao {
	
	/* Queries */
	private static final String FIND_ALL_GHIANDOLE = "findAllGhiandole";;
	
	@Autowired
	public GhiandoleH8Dao(SessionFactory sessionFactory) {
		
		super(sessionFactory);
	}
	
	/* (non-Javadoc)
	 * @see com.lifeware.research.endo.models.dao.IGhiandoleDao#findAllGhiandole()
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<Ghiandole> findAllGhiandole() {

		/* Recupero la sessione corrente */
		Session session = this.sessionFactory.openSession();
		
		/* Recupero le ghiandole */
		List<Ghiandole> ghiandole = 
				session.getNamedQuery(FIND_ALL_GHIANDOLE).list();
		
		/* Chiudo la sessione */
		session.close();
		
		return ghiandole;
	}

	@Override
	public Ghiandole findById(Integer id) {
		
		Ghiandole ghiandola = null;
		
		/* Recupero la sessione corrente */
		Session session = this.sessionFactory.openSession();
		
		ghiandola = (Ghiandole) session.get(Ghiandole.class, id);
		
		/* Chiudo la sessione */
		session.close();
		
		return ghiandola;
	}

}
